home *** CD-ROM | disk | FTP | other *** search
- // Resizes the window to a custom size
- function webdeveloper_customWindowSize()
- {
- window.openDialog("chrome://webdeveloper/content/dialogs/resize.xul", "webdeveloper-resize-dialog", "centerscreen,chrome,modal", window.outerWidth, window.outerHeight);
- }
-
- // Displays the resize menu
- function webdeveloper_displayResizeMenu(menu, separatorName, tooltips)
- {
- const resizeSeparator = menu.getElementsByAttribute("id", separatorName)[0];
- const preferencesService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
-
- var description = null;
- var descriptionPreference = null;
- var height = null;
- var menuItem = document.createElement("menuitem");
- var resizeCount = 0;
- var width = null;
-
- // If the resize count preference is set
- if(preferencesService.prefHasUserValue("webdeveloper.resize.count"))
- {
- resizeCount = preferencesService.getIntPref("webdeveloper.resize.count");
- }
-
- webdeveloper_removeGeneratedMenuItems(menu);
-
- // Loop through the possible resize options
- for(var i = 1; i <= resizeCount; i++)
- {
- description = "webdeveloper.resize." + i + ".description";
- height = "webdeveloper.resize." + i + ".height";
- width = "webdeveloper.resize." + i + ".width";
-
- // If the description, width and height are set
- if(preferencesService.prefHasUserValue(description) && preferencesService.prefHasUserValue(width) && preferencesService.prefHasUserValue(height))
- {
- descriptionPreference = preferencesService.getCharPref(description).trim();
-
- // If the description is not blank
- if(descriptionPreference != "")
- {
- menuItem = document.createElement("menuitem");
- menuItem.setAttribute("class", "webdeveloper-generated-menu");
- menuItem.setAttribute("label", descriptionPreference);
- menuItem.setAttribute("oncommand", "webdeveloper_resizeWindow(" + preferencesService.getIntPref(width) + ", " + preferencesService.getIntPref(height) + ")");
-
- // If displaying tooltips
- if(tooltips)
- {
- menuItem.setAttribute("tooltiptext", descriptionPreference);
- }
-
- menu.insertBefore(menuItem, resizeSeparator);
- }
- }
- }
- }
-
- // Displays the current window size
- function webdeveloper_displayWindowSize()
- {
- const stringBundle = document.getElementById("webdeveloper-string-bundle");
-
- alert(stringBundle.getFormattedString("webdeveloper_displayWindowSize", [window.outerWidth, window.outerHeight, window.content.innerWidth, window.content.innerHeight]));
- }
-
- // Displays the current window size in the title bar
- function webdeveloper_displayWindowSizeInTitle(element, applyStyle)
- {
- const checked = element.getAttribute("checked");
-
- // If the menu is checked
- if(checked)
- {
- window.content.document.title += " - " + window.outerWidth + "x" + window.outerHeight;
- window.onresize = webdeveloper_updateWindowSizeInTitle;
- }
- else
- {
- const title = window.content.document.title;
-
- window.content.document.title = title.substring(0, title.lastIndexOf(" - "));
- window.onresize = null;
- }
-
- webdeveloper_toggleStyleSheet(element, "chrome://webdeveloper/content/stylesheets/empty.css", "webdeveloper-display-current-size-title", applyStyle);
- }
-
- // Resizes the window to the given width and height
- function webdeveloper_resizeWindow(width, height)
- {
- window.resizeTo(width, height);
- }
-
- // Updates the window size in the title bar
- function webdeveloper_updateWindowSizeInTitle()
- {
- const title = window.content.document.title;
-
- window.content.document.title = title.substring(0, title.lastIndexOf(" - ")) + " - " + window.outerWidth + "x" + window.outerHeight;
- }
-